/* @(#)DecKanGlStatus.java
 ** 
 ** Copyright (C) 2001-2011 by Steven D. Stamps
 **
 **             Trademarks & Copyrights
 ** Flywheel Management Science(TM) and FlywheelMS(TM) are exclusive
 ** trademarks of Steven D. Stamps and may only be used freely for
 ** the purpose of identifying the unforked version of this software.
 ** Subsequent forks (if any) may not use these trademarks.  All other
 ** rights are reserved.
 **
 ** DecKanGL (Decorated Kanban Glyph Language) and TribKn (Tribal Knowledge)
 ** are also exclusive trademarks of Steven D. Stamps.  These may be used
 ** freely within the unforked FlywheelMS application and documentation.
 ** All other rights are reserved.
 **
 ** Trademark information is available at
 ** <http://www.flywheelms.org/trademarks>
 **
 ** Flywheel Management Science(TM) is a copyrighted body of management
 ** metaphors, governance processes, and leadership techniques that is
 ** owned by Steven D. Stamps.  These copyrighted materials may be freely
 ** used, without alteration, by the community (users and developers)
 ** surrounding this GPL3-licensed software.  Additional copyright
 ** information is available at <http://www.flywheelms.org/copyrights>
 **
 **              GPL3 Software License
 ** This program is free software: you can use it, redistribute it and/or
 ** modify it under the terms of the GNU General Public License, version 3,
 ** as published by the Free Software Foundation. This program is distributed
 ** in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
 ** even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
 ** PURPOSE.  See the GNU General Public License for more details. You should
 ** have received a copy of the GNU General Public License, in a file named
 ** COPYING, along with this program.  If you cannot find your copy, see
 ** <http://www.gnu.org/licenses/gpl-3.0.html>.
 */
package com.fmscorp.deckangl.core;

import javax.swing.ImageIcon;

import com.fmscorp.deckangl.LanguageElement;

/**
 * @author sstamps
 */
public class Status extends LanguageElement {

	private static final String metaDescription = "Noun Status";
	private static ImageIcon prototypeImageIcon;
	private StatusColor decKanGlStatusColor;

	public Status(
			String aName,
			StatusColor aDecKanGlStatusColor ) {
		super(aName);
		this.decKanGlStatusColor = aDecKanGlStatusColor;
	}

	// implemented by all children of DecKanGlDictionaryObject
	public static String getMetaDescription() {
		return metaDescription;
	}
	
	public StatusColor getStatusColor() {
		return this.decKanGlStatusColor;
	}

	@Override
	public String getImageIconPath() {
		return this.getStatusColor().getImageIconPath();
	}

	@Override
	public ImageIcon getImageIcon() {
		return this.getStatusColor().getImageIcon();
	}
	
	// must be implemented by all sub-classes of DecKanGlDictionaryObject
	public static ImageIcon getPrototypeIcon() {
		return prototypeImageIcon;
	}

	// must be implemented by all sub-classes of DecKanGlDictionaryObject
	public static void setPrototypeImageIcon(ImageIcon aPrototypeImageIcon) {
		prototypeImageIcon = aPrototypeImageIcon;
	}

}